// pages/login/login.js
const utils = require("../../Utils/Utils")
const db = wx.cloud.database();

Page({

	/**
	 * 页面的初始数据
	 */
	data: {
		disabled: false, // 是否可以登录
		NextPageUrl: "", // 登录成功下一跳的页面路径
	},
	/**
	 * 登录事件
	 */
	bindlogin() {
		// 重新数据库用户是否存在

		// 用户存在数据库

		// 用户不存在数据库
		this.loginFun()
	},
	/**
	 * 登录方法
	 *  存入数据库
	 *  写入本地缓存
	 */
	loginFun() {
		let that = this;
		wx.getUserProfile({
			desc: "用于完善会员资料",
			success: function(res) {
				var userInfo = res.userInfo
				var nickName = userInfo.nickName
				var avatarUrl = userInfo.avatarUrl
				var gender = userInfo.gender //性别 0：未知、1：男、2：女
				var province = userInfo.province
				var city = userInfo.city
				var country = userInfo.country
				// 将数据插入数据库中
				db.collection("users").add({
					data: {
						nickName: nickName, // 昵称
						avatarUrl: avatarUrl, // 用户头像地址 / 用户头像cloudid
						gender: gender, // 性别
						province: province, // 用户所在省份
						city: city, // 用户所在城市
						country: country, // 用户所在国家
						lasttime: new Date(), // 最后一次登录的退出时间
						createtime: new Date(), // 创建时间
						status: [], // 用户状态
						showHistory: true, // 是否愿意展示以往发帖 / 或者没发过贴
						college: "信息技术学院", // 学院
						issue: 0, // 发布帖子数量
						like: 0, // 获赞
						sign: "我很懒，什么都没有留下......", // 个性签名
						wxId: '', // 微信号
					}
				}).then((e) => {
					// 将数据插入本地缓存 openid 不能放入本地缓存 为了安全
					// 从数据库中查出数据将数据加载到缓存中
					db.collection("users").doc(e._id).get().then(res => {
						// 将数据插入本地缓存 openid 不能放入本地缓存
						wx.setStorage({
							data: {
								...res.data
							},
							key: 'userinfo',
						}).then(res => {
							wx.showToast({
								title: '登录成功',
								duration: 800
							})
							// 授权按钮失效
							that.setData({
								disabled: true
							})
							// 退回上一个页面
							setTimeout(() => {
								wx.navigateBack({
									delta: -1,
								})
							}, 900)
						}).catch((e) => {
							console.log(e)
						})
					})
				})
			},
			fail: function(e) {
				wx.showToast({
					title: '登录失败',
					duration: 800
				})
			}
		})
	},
	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: function(options) {

	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function() {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function() {

	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function() {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function() {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function() {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function() {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function() {

	}
})
